package br.ucb.tcc.swing;

import java.awt.LayoutManager;
import java.net.URL;

import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;

import br.ucb.tcc.entidades.Perfil;
import br.ucb.tcc.entidades.Relacionamento;
import br.ucb.tcc.utils.StringUtil;

/**
 * @author italoricci
 * 
 */
public class AbstractPanel extends JPanel {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	URL imgsrc = Main.class.getResource("icon/twitter-banner.jpg");

	/**
	 * 
	 */
	public AbstractPanel() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param arg0
	 */
	public AbstractPanel(boolean arg0) {
		super(arg0);
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param arg0
	 * @param arg1
	 */
	public AbstractPanel(LayoutManager arg0, boolean arg1) {
		super(arg0, arg1);
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param arg0
	 */
	public AbstractPanel(LayoutManager arg0) {
		super(arg0);
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param texto
	 * @param titulo
	 */
	public static void mostrarMensagemInformativa(String texto, String titulo) {
		JTextArea teste = new JTextArea(texto);
		javax.swing.JScrollPane scrollPane = new javax.swing.JScrollPane(teste);
		scrollPane.setSize(400,400);
		JOptionPane.showMessageDialog(null, scrollPane);
	}

	/**
	 * @param texto
	 * @param titulo
	 * @return
	 */
	public int confirmarExecucao(String texto, String titulo) {
		return JOptionPane.showConfirmDialog(null, texto, titulo, 0);
	}
	
	public void mostrarMensagem(String texto) {
		 JOptionPane.showMessageDialog(null, texto);
	}

	/**
	 * @param perfilDTO
	 * @return
	 */
	public String montarDetalhamento(Perfil perfilDTO) {
		StringBuilder html = new StringBuilder("<html><body>" + "<table><tr><td>"
				+ "<img width='100' height='50' src='" + imgsrc + "'></img>"
				+ "</td><td><h3>Detalhamento do Usuário</h3></td></tr></table>");
		html.append("<br/>Id Tweet: " + perfilDTO.getId() + " <br/>");
		html.append("Nome Perfil: " + perfilDTO.getNomePerfil() + " <br/>");
		html.append("Nome Exibição: " + perfilDTO.getNomeExibicao() + " <br/>");
		String localizacao = null;
		if (!StringUtil.isStringVazia(perfilDTO.getLocalizacao())) {
			localizacao = perfilDTO.getLocalizacao();
		} else {
			localizacao = "Nenhuma localização informada.";
		}
		html.append("Localização: " + localizacao + "<br/>");
		html.append("Quantidade de Seguidores: " + perfilDTO.getQtdSeguidores() + " <br/>");
		html.append("Quantidade de Amigos:" + perfilDTO.getQtdAmigos() + " <br/>");
		html.append("Último Post: " + perfilDTO.getUltimoPost() + " <br/>");
		html.append("</body></html>");
		return html.toString();
	}
	
	
	/**
	 * @param perfilDTO
	 * @return
	 */
	public String montarDetalhamentoRelacao(Relacionamento relacoesDTO) {
		StringBuilder html = new StringBuilder("<html><body>" + "<table><tr><td>"
				+ "<img width='100' height='50' src='" + imgsrc + "'></img>"
				+ "</td><td><h3>Detalhamento da Relação</h3></td></tr></table>");
		html.append("<br/>Id Origem: " + relacoesDTO.getIdOrigem() + " <br/>");
		html.append("Nome Origem: " + relacoesDTO.getNomeOrigem() + " <br/>");
		html.append("Id Destino: " + relacoesDTO.getIdDestino() + " <br/>");
		html.append("Nome Destino:" + relacoesDTO.getNomeDestino() + " <br/>");
		html.append("Tweet Mencionado: " + relacoesDTO.getTweetRelacao() + " <br/>");
		html.append("Argumento Pesquisado: " + relacoesDTO.getHashTagPesquisa() + " <br/>");
		html.append("</body></html>");
		return html.toString();
	}

}
